#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <arpa/inet.h>

int main() {
    // 1. 创建客户端 socket
    int sockfd = socket(AF_INET, SOCK_STREAM, 0);
    if (sockfd < 0) {
        perror("socket");
        return 1;
    }

    // 2. 准备服务器地址
    struct sockaddr_in server_addr;
    server_addr.sin_family = AF_INET;
    server_addr.sin_port = htons(8888); // 端口号要和服务器一致
    // "localhost" == 127.0.0.1
    inet_pton(AF_INET, "127.0.0.1", &server_addr.sin_addr);

    // 3. 连接服务器
    if (connect(sockfd, (struct sockaddr*)&server_addr, sizeof(server_addr)) < 0) {
        perror("connect");
        close(sockfd);
        return 1;
    }

    printf("已连接服务器。\n");

    // 4. 向服务器发送数据
    const char *msg = "用户名：admin;密码：123\n";
    ssize_t sent = send(sockfd, msg, strlen(msg), 0);
    if (sent < 0) {
        perror("send");
    } else {
        printf("发送了 %zd 字节。\n", sent);
    }

    // 模拟 Java 的 shutdownOutput()：告诉服务器“我发完了”
    shutdown(sockfd, SHUT_WR);

    // 5. 关闭连接
    close(sockfd);
    printf("连接已关闭。\n");

    return 0;
}

